package monopoli.communication;


/**
 *
 * @author Marco
 */
public interface CommunicationInterface {



    public boolean setHost(String hostIp, int host_port);

    public RMIAddress getHost();

    public boolean setInitializationServer(String serverIp, int server_port);




    public String pingNextHost();
    
    public String pingInitializationServer();
    
    

    //Metodi di comunicazione tra host e server
    
    public boolean richiestaPartecipaPartita(Integer idGiocatore);
    



    //Metodi di comunicazione tra host e host
    public boolean passaTurno();

    public void lanciaDadi();

    public boolean notificaMuoviPedina(int pedina,int casella);

    public boolean notificaNome(int giocatore, String name);

    public boolean notificaPedina(int giocatore, int idPedina);

    public boolean notificaPossessoProprieta(int giocatore, int idProprieta);

    public boolean notificaAcquistoProprieta(int giocatore,int idProprieta);

    public boolean notificaCostruzioneEdificio(int giocatore,int casella,int edificio);

    public boolean notificaPagamento(int amount,int giocatore1,int giocatore2);

    public boolean notificaRitiro();

    public boolean notificaIpoteca();

    public boolean notificaFinePartita();

    public boolean notificaAstaAvviata();

    public boolean notificaCadutaGiocatore();

    public boolean notificaMsg(String s);

    public void rilanciaAsta();

    public void rinunciaAsta();

    public void proponiScambio();


}
